rnMac  2.0d7

written by Roy Wood, rrwood@mars.execulink.com

Cool Icons by Ernst “Pooh” Mulder
WASTE text-editing engine by Marco Piovanelli, piovanel@kagi.com 

©1993-1996 Silicon Angst Software
19 Renwick Avenue
London, Ontario, CANADA
N6A 3V1

rnMac is shareware, so if you use it, please send $25 to me at the address listed above (please make out cheques to me, Roy Wood, and be sure to include your email address so I can send you the registration code!).  The cost of registration is pretty cheap, and every registration I receive provides a disproportionately large incentive for me to keep banging away at improving the program, so.....

General Stuff:

rnMac is a offline newsreader for Macintosh computers.  If you don't know what Usenet news is, you probably don't have much need for this program.  Contrary to what the name implies, this is not a port of “rn” or any similarly-named newsreader.

rnMac now knows how to interact with NNTP servers in addition to its ability to work with a uucp-based feed (such as one involving UUPC and ToadNews).  To use rnMac in an NNTP context, you will, of course, have to have MacTCP installed and configured correctly on your Mac.  If you're already confused, I suggest you pick up a copy of Adam Engst's excellent book, “Internet Starter Kit For Macintosh.”  An online edition of the third edition of this book is available at <http://www.mcp.com/hayden/iskm/mac.html>.

rnMac works very well with InternetConfig, the excellent all-in-one Internet configuration utility.  If you do not already have InternetConfig installed, I suggest you grab a copy of it immediately.  Here's an URL that you can try:

<ftp://sumex-aim.stanford.edu/info-mac/comm/inet/internet-config-12.hqx>

To use rnMac, you'll need to install Apple's Thread Manager extension if it's not a standard part of your system software (it's standard for 7.5 and later).  The thread manager is available for anonymous FTP as:

<ftp://ftp.info.apple.com/Apple.Support.Area/Developer_Services/Development_Kits/Thread_Manager_Extension/Thread_Manager.sit.hqx>

(You should be able to command-click on that URL to launch your favourite web browser, assuming you have InternetConfig installed!)

Settings File and Preferences:

When you first run rnMac, you will have to create a settings file.  This file holds the list of subscribed newsgroups, the name of your news-server, your email address, etc.  Use the “New Settings File” option under the “File” menu to create the settings file, and store it wherever you like.  As you might expect, once the settings file has been created, you can just double-click it to launch rnMac with the appropriate preferences in effect.

If you're already using InternetConfig, you'll be pleased to note that rnMac can be configured to get its relevant preferences from InternetConfig.  If you wish to configure rnMac this way, just be sure to check this feature in the rnMac preferences dialog.  At this point, rnMac obtains the following preferences from InternetConfig: user's real name, user's email address, NNTP user/password, SMTP server name, NNTP server name, quote string, news/mail extra headers, user's signature text, user's organization, font settings.

The various rnMac preferences can be set using the “Preferences” option in the Edit menu.  The different groups of settings and their meanings are pretty obvious, but just to be safe, here's a more explicit description of each, as well as some general comments:

InternetConfig Preferences:

Use InternetConfig — indicates whether appropriate preference settings should be retrieved from InternetConfig
Search rnMac Settings Folder — controls whether InternetConfig is instructed to search for its preferences file in the folder containing the rnMac settings file currently in effect

Note that you must have InternetConfig installed for rnMac to use it!

When InternetConfig first starts up, it must find its preferences file somewhere.  The default location is the System Folder's 'Preferences' folder; however, if you have multiple users using a single machine, it's convenient to be able to have multiple InternetConfig preferences files and to store each user's IC preference file in his/her directory along with his/her rnMac settings file.

NNTP Preferences:

Server Name — the name of your NNTP news server
Send User/Password — indicates whether the user/password should be sent
User Name — the user-name you use to log-in to the newserver
Password — the password you use to log-in to the newserver
Use Lower-Case NNTP Commands — indicates whether lower-case NNTP commands should be sent
Maximum Articles — the maximum number of articles to get from the server
Use 'HEAD' command — controls whether the 'HEAD' command rather than the 'XOVER' command is used to get article overviews
Check All Articles For Download Status - controls whether all articles are checked to ensure they are unread and need to be downloaded

Note that many NNTP servers do not require that the user/password strings be sent.  Only your news administrator can tell you for sure if this is required, and, if so, what your user-id and password are.  My news server does not require user-id's and passwords, so I haven't actually tested this out, and I'm curious to know if it works.

The maximumum number of articles to retrieve from the server can be set as high or low as you like.  When you get news from the server for the very first time ever, there will obviously be a lot of unread articles available, so you might want to set this preference to a low number at first.  Then again, you might like sitting around for several minutes as several thousand headers and articles are retrieved.

For NNTP servers which do not support the 'XOVER' news database command, rnMac will automatically fall back to using the slower 'HEAD' command instead.  Of course, you can always force the program to use 'HEAD' commands first, thereby saving a tiny amount of time as the check for 'XOVER' support is skipped.

If you configure rnMac so that it checks all articles to see if they are unread and in need of downloading, things proceed a little more slowly than they would if the program is allowed to skip over entries for old articles it has previously dealt with; however, if you do a lot of fiddling with the status of articles, rnMac can get confused, and you may wish to sacrifice a few seconds for the sake of being certain all the appropriate articles are downloaded.

Article Reader Preferences:

Show “Re:” Headers — indicates whether the “Re:” is shown in subject lists
Delete Read Articles — indicates whether read articles are deleted upon quit
Mark Cross-Postings — indicates whether cross-posted articles should be marked read
Word-Wrap Articles - indicates whether displayed articles should be word-wrapped
Sorting — dictates the criterion used to sort article lists
Header Display — controls whether full, none, or selected article headers are displayed

I plan to eventually have followup article headers left blank (like trn does) if the “Show “Re:” Headers” feature is enabled, but right now, it doesn't do much.

If the “Mark Cross Postings As Read” feature is enabled, then articles which have been posted to multiple newsgroups are marked as read when the current newsgroup is closed.  This is applied to all articles in the group, even unread ones, thus ensuring you see articles only once.

Files/Folders Preferences:

News Folder — the folder in which downloaded articles are stored
Spool Folder — the folder in which outgoing articles are temporarily stored 
Saved Articles Folder — the folder in which articles should be saved 
Active Groups File — the text-file listing all available groups
Eudora Nicknames File - the pathname to the Eudora nicknames file
Saved Articles Creator/Type — the creator and file type for saved files

Each of these options is most easily set by using the “Select Folder” or “Select File” button beside it.  

Downloaded articles are stored in a folder-based hierarchy in the “News” folder.  For example, all articles in rec.humor.funny are stored in a folder called “funny”, which is in turn located in a folder called “humor”, which is located in a folder called “rec” inside the “News” folder.  Because of the way the MacOS maintains file directories on disks, accessing files in folders containing a lot of files (1000+) is very slow, so try to delete read articles, rather than keeping them around to suck up disk space.  If you absolutely must keep around a lot of old articles, be sure to increase the disk cache as specified in the “Memory” Control Panel under the Apple Menu.

The “Saved Articles Folder” setting allows you to specify the default folder in which articles will be saved when you choose the “Save Article” option under the file menu.  If this setting is left blank, then the standard Save-File dialog box will open up to the folder containing rnMac, and you can choose the final location for the saved article in the usual manner.

The "Eudora Nicknames File" usually points to the file that Eudora uses to save its nicknames list, though you could just as easily point it to another file of your own design (make sure it's a text-file with single line entries like this: "alias RoyWood rrwood@io.org".  Eudora seems to usually store its nickname file in the Eudora folder in the System Folder, though I suspect it's possible to customize this.  If this field is left blank, then the nicknames file is not used, and the associated menus are left empty.

Saved files (articles in particular) are created with the creator signature and file type specified by the “Saved Articles Creator Signature” and “Saved Articles File Type” settings respectively.  For example, if these settings are “ttxt” and “TEXT”, then saved articles will be marked as text files created by TeachText.  When the “Select Type/Creator” button is used to set thes preferences, the creator signature and file type are both taken from the selected file.

Posting Preferences:

Name — the name of the user (you!)
Organization — the name of the user's organization 
Email Address — the user's email address 
Time Difference — the user's time difference from Greenwich Mean Time 
Distribution — the distribution range of articles
Maximum Line Width — the maximum line-width for outgoing articles
Quote Char — the characters inserted at the start of quoted lines of text

The first first five options are the default values inserted in the headers of outgoing articles.

Disk Scanning Preferences:

Scan newsfolder at startup — controls whether the newsfolder is scanned at startup
Verbose logging of newsfolder — controls whether verbose logging of info is performed
Delete old articles before quitting — controls whether old articles are deleted when quitting the program (number of days to keep articles can also be specified here)

For people who get their news via uucp or some other method, it is desirable to have rnMac automatically scan the newsfolder for new articles at startup.  This is possible via the first option in this dialog.

The second option allows the user to control the amount of logging info dumped into the “Status Log” window (useful to me while I'm debugging).

Articles (either fully-downloaded or just references to available articles) are deleted when the settings file is closed, which for most people is when they are quitting the program.  Only articles which are marked as “read” are deleted.  To force deleting of articles as soon as possible, enter a value of zero for the number of days to keep them.  The delay before expiring/deleting old news can be customized for each group as well— just option-click on the group's name in the list of subscribed groups.

Newsgroup Settings:

The properties of the various newsgroups can be examined via the “Edit Group Settings” menu selection or by option-clicking on the name of a subscribed group.  The resulting dialog lets the user review and adjust the properties of each subscribed group.  In particular, the user can mark a group as an archive group, a group for which articles should never be deleted, etc.  

As well, the newsgroup settings dialog box shows the range of articles available from the remote NNTP server, the range of article references in the local cache, and the range of local articles assumed to have been fully downloaded already (keeping track of this last bit of information means the program doesn't have to scan through all the local article entries to see which ones still need to be downloaded).  Note that the article numbers for the article references in the local cache are different from the server's numbers (ask me about the reasons for this if you really worry about such things).

Subscribing To Newsgroups:

To subscribe to groups, choose "Show Active Newsgroups" under the Groups menu, double-click on the group you're interested in, or highlight a group name and then choose "Subscribe" from the Groups menu.  When you subscribe to a group, it is not automatically opened; rather, the group name is simply added to the subscribed groups list.

If you wish to remove a group from your subscribed groups list, click once on it in the "Subscribed Groups" window to highlight it, and then choose "Unsubscribe" from the Newsgroups menu.  You can also shift-click to select multiple groups to unsubscribe.

Obviously, the very first time you run the program, the list of active newsgroups will be empty, so you will have to download it from your news server.  To do this, use the “Download Full Newsgroup List” option under the NNTP menu.  Be forewarned that this could take a while, since many servers carry about 16000+ newsgroups these days.

If you wish, you can also manually add groups to the list of active newsgroups using the “Add Newsgroup To Active List” option under the Groups menu.

You should probably make an occasional check for new newsgroups using the “Download New Newsgroups” option under the NNTP menu.  New groups are listed in a separate window in addition to being added to the list of active groups, thus making it easy to identify which groups are new.

Downloading News:

Once your NNTP settings are configured and you've subscribed to the groups that interest you, you're all set to download the news from the NNTP server.  rnMac gives you several choices as to how you'd like to do this: you can download the complete text of all new articles, you can download just the headers for new articles, or you can download the bodies of unread articles.  

The first option is pretty simple, but the other two may seem a little odd until you realize that they make it possible to download just the headers for new articles, screen out unwanted ones, then download just the articles which interest you (thereby saving connection time and charges).  Best of all, you can go through and mark out all the unwanted articles in a group while other groups are still being processed.

The headers of articles which are not fully downloaded are displayed in italic text in article list windows, so it's easy to tell if the full article is on-disk or not.

The technique of selectively downloading articles works very well for groups with a low signal to noise ratio, but for other groups, you may wish to automatically download the full articles all the time.  To do this, just highlight the group in the “Subscribed Groups” window and toggle on the “Always Get Full Articles” flag using the “Edit Group Settings” submenu under the Groups menu or by simply option-clicking on the group name in the list of subscribed groups.  The status of this and other group-specific settings is displayed at the bottom of the “Subscribed Groups” window when the cursor is over a group name.

Reading News:

Reading news is pretty straightforward: just double-click on the name of a newsgroup to open it up, or press the spacebar or return/enter key to open the highlighted group.  Once a newsgroup is open, double-click on a header, or press return/enter to open a highlighted article.  

If you find an article that you'd like to save for future reference, you can, of course, just save it as a textfile, or you can save a copy of it in a special “archival” newsgroup.  To do this, first create the group using the “Create Archival Newsgroup” option under the Groups menu, then use the “Transfer” menu to transfer a copy of the desired article to the archival group.

Some other useful hints for reading articles are:

To force the displaying of headers for an article, hold down the option key as you open the article.

Press the space bar to open the next unread article and to page through an article.

Use the right/left arrow keys to mark articles as read/unread in the article list window.

Use the delete/backspace keys to delete articles from the list of available articles.

Command-click on URL's to open them (this relies on InternetConfig being available).

Posting News:

Posting of new articles works about how you'd expect: use the “Post To Current Group”, or the “Post To Group:”, or the “Post Followup Article” options under the Articles menu to create the new posting, edit the text of the posting, then save it.  New articles are spooled until you explicitly choose to send them (assumedly the next time you connect to your news server).  Spooled articles can be edited later, since they are accessable via the “Spooled Postings” window which is listed under the Window menu.

It is possible to email copies of outgoing articles, if you wish.  Just toggle on the “Send As Email” checkbox in the upper right corner of the outgoing posting window.

In order to automatically include a signature at the bottom of outgoing news/mail, you'll have to use InternetConfig.  The same goes for any custom headers you might want to have always inserted in outgoing messages.

Eudora Support:

If you examine the "Articles" menu, you'll see there are options there that allow you to use Eudora to email replies and forward articles.  Interaction with Eudora is accomplished via Apple Events (programming Apple Event code in C is really horrible, just in case you're interested), so it should work pretty well under normal circumstances.  Naturally, rnMac tries to launch Eudora if it's not already running, which requires searching of the Finder's Desktop files for all mounted volumes.  If you're having trouble getting rnMac to launch Eudora, try rebuilding your desktop by holding down the option key as you start up your Mac.

The “Forward Article” feature normally does not insert the quote-string at the start of each line of text in the forwarded article.  To force rnMac to insert the quote-string, hold down the option key as you make the menu selection.

I like Eudora a lot, and I don't use any other mailer (unless you count the occasional fling with elm when SLIP isn't working), so I have no plans to build in support for other mailers.

Complaints Department:

I'm still working on improving rnMac, so drop me a note with your suggestions for improvement.  Currently, I can be reached as “rrwood@mars.execulink.com”.

Version History:

v2.0d7 - September 1996
- basically this is v2.0d6, but done as a complete recompile (somebody had a problem running the real v2.0d6, so we'll see how this one goes)
- oh yeah-- I did fix the article-downloading code so it honours the "Check All Article For Download Status" preference setting